local S = Instance.new("Sound",script) S.SoundId = "rbxasset://sounds/bass.mp3" S.Volume = 0.35 local PartA = Instance.new("Part") PartA.Transparency = 1 PartA.CanCollide = false local SA = Instance.new("Sound",PartA) SA.SoundId = "rbxasset://sounds/bass.mp3" SA.Volume = 2.4 SA.PlayOnRemove = true SA.TimePosition = 0.2 local PartB = Instance.new("Part") PartB.Transparency = 1 PartB.CanCollide = false local SB = Instance.new("Sound",PartB) SB.SoundId = "rbxasset://sounds/electronicpingshort.wav" SB.Volume = 2.4 SB.PlayOnRemove = true SB.TimePosition = 0.2 local PartC = Instance.new("Part") PartC.Transparency = 1 PartC.CanCollide = false local SC = Instance.new("Sound",PartC) SC.SoundId = "rbxasset://sounds/snap.mp3" SC.Volume = 2.4 SC.PlayOnRemove = true SC.TimePosition = 0.2 local PartD = Instance.new("Part") PartD.Transparency = 1 PartD.CanCollide = false local SD = Instance.new("Sound",PartD) SD.SoundId = "rbxasset://sounds/electronicpingshort.wav" SD.Volume = 2.4 SD.PlayOnRemove = true SD.TimePosition = 0.2 PartA.Anchored = true PartB.Anchored = true PartC.Anchored = true PartD.Anchored = true function HitSound(pos) if SA and SA.Parent then SA.PlaybackSpeed = 6.8 end if PartA then PartA.Position = pos PartA.Parent = script PartA.Parent = nil end for i = 1,2 do if SC and SC.Parent then SC.PlaybackSpeed = 1.2 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.04) end if SA and SA.Parent then SA.PlaybackSpeed = 12 end if PartA then PartA.Position = pos PartA.Parent = script PartA.Parent = nil end for i = 1,2 do if SC and SC.Parent then SC.PlaybackSpeed = 2.4 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.04) end end function LaunchSound(pos) for i = 1,30 do if SC and SC.Parent then SC.PlaybackSpeed = 1.5 - i * 0.033 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.04) end end function TagSound(pos) if SB and SB.Parent then SB.PlaybackSpeed = 2 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end wait(0.06) if SB and SB.Parent then SB.PlaybackSpeed = 3.5 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end end function BANG(pos) local M = math.random(100,140)/100 for i = 1,2 do if SC and SC.Parent then SC.PlaybackSpeed = 0.8*M end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.04) end for i = 1,10 do if SC and SC.Parent then SC.PlaybackSpeed = 0.325*M - i * 0.02 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.04) end end function Yay(pos) for i = 1,2 do if SB and SB.Parent then SB.PlaybackSpeed = 1.35 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end wait(0.06) end for i = 1,2 do if SB and SB.Parent then SB.PlaybackSpeed = 2.25 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end wait(0.06) end for i = 1,2 do if SB and SB.Parent then SB.PlaybackSpeed = 2.7 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end wait(0.06) end for i = 1,4 do if SB and SB.Parent then SB.PlaybackSpeed = 3.6 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end wait(0.06) end for i = 1,2 do if SB and SB.Parent then SB.PlaybackSpeed = 2.7 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end wait(0.06) end for i = 1,12 do if SB and SB.Parent then SB.PlaybackSpeed = 3.6 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end wait(0.06) end for i = 1,8 do if SB and SB.Parent then SB.PlaybackSpeed = 2.7 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end if SD and SD.Parent then SD.PlaybackSpeed = 5.4 end if PartD then PartD.Position = pos PartD.Parent = script PartD.Parent = nil end wait(0.06) end for i = 1,10 do if SB and SB.Parent then SB.PlaybackSpeed = 2.4 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end if SD and SD.Parent then SD.PlaybackSpeed = 4.8 end if PartD then PartD.Position = pos PartD.Parent = script PartD.Parent = nil end wait(0.06) end for i = 1,40 do if SB and SB.Parent then SB.PlaybackSpeed = 2.3 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end if SD and SD.Parent then SD.PlaybackSpeed = 4.6 end if PartD then PartD.Position = pos PartD.Parent = script PartD.Parent = nil end wait(0.06) end end function Speech(a,b) for i = 1,string.len(a) do if S and string.sub(a,i,i) ~= " " then S.PlaybackSpeed = 1.6 S.TimePosition = 0.2 S:Play() elseif S then S:Stop() end wait(0.04) end if S then S:Stop() end wait(0.04) for i = 1,string.len(b) do if S and string.sub(b,i,i) ~= " " then S.PlaybackSpeed = 1.9 S.TimePosition = 0.2 S:Play() elseif S then S:Stop() end wait(0.04) end if S then S:Stop() end end function Nuke(pos) for i = 1,20 do if SC and SC.Parent then SC.PlaybackSpeed = i * 0.08 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.03) end for i = 1,10 do if SC and SC.Parent then SC.PlaybackSpeed = 1 - i * 0.04 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.03) end for i = 1,400 do if SC and SC.Parent then if i%3 < 2 then SC.PlaybackSpeed = 1 - i * 0.002 else SC.PlaybackSpeed = 0.3 - i * 0.0005 end end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end wait(0.06) end end function SendBomb(pos,orient,color,plr,nam) local P = Instance.new("Part",script) P.Name = "T" P.Anchored = true P.Locked = true P.Size = Vector3.new(6,6,6) P.BrickColor = color P.Material = Enum.Material.CorrodedMetal P.Position = pos P.Orientation = orient P.CFrame = P.CFrame*CFrame.new(0,-16,-16) for i = 1,10 do local y,z = 0,8 if i > 8 then y,z = 0,-8 elseif i > 6 then y,z = 4,-4 elseif i > 4 then y,z = 8,0 elseif i > 2 then y,z = 4,4 end P.CFrame = P.CFrame * CFrame.new(0,y,z) wait(0.04) end P.Anchored = false P.Velocity = (P.CFrame.LookVector*120)+Vector3.new(math.random(-40,40),math.random(-40,40),math.random(-40,40)) delay(0,function() LaunchSound(P.Position) end) local SoundB = Instance.new("Sound",P) SoundB.SoundId = "rbxasset://sounds/electronicpingshort.wav" SoundB.PlaybackSpeed = 2 SoundB.Volume = 1.4 local SoundC = Instance.new("Sound",P) SoundC.SoundId = "rbxasset://sounds/snap.mp3" SoundC.PlaybackSpeed = 0.2 SoundC.Volume = 2 local Boomed = false local function Touched(hit) if hit.CanCollide and not Boomed then SoundC.TimePosition = 0.1 SoundC:Play() end end P.Touched:Connect(Touched) wait(5) for i = 1,5 do SoundB.TimePosition = 0.2 SoundB:Play() P.BrickColor = BrickColor.new("White") P.Material = Enum.Material.Neon wait(0.1) P.BrickColor = color wait(0.1) P.Material = Enum.Material.CorrodedMetal wait(0.8) end SoundB.PlaybackSpeed = 4 for i = 1,10 do SoundB.TimePosition = 0.2 SoundB:Play() P.BrickColor = BrickColor.new("White") P.Material = Enum.Material.Neon wait(0.1) P.BrickColor = color wait(0.1) P.Material = Enum.Material.CorrodedMetal wait(0.3) end delay(0,function() if P and P.Parent then print(nam.."'S EXPLOSIVE GOES OFF IN 5 SEC") Speech(nam.."'S","EXPLOSIVE GOES OFF IN 5 SEC") end end) SoundB.PlaybackSpeed = 8 for i = 1,20 do SoundB.TimePosition = 0.2 SoundB:Play() P.BrickColor = BrickColor.new("White") P.Material = Enum.Material.Neon wait(0.1) P.BrickColor = color wait(0.1) P.Material = Enum.Material.CorrodedMetal wait(0.05) end Boomed = true local f = true local Bong = false if P and P.Parent then P.Anchored = true P.CanCollide = false P.BrickColor = BrickColor.new("Institutional white") P.Material = Enum.Material.Neon delay(0,function() Nuke(P.Position) end) for i = 1,10 do P:BreakJoints() P.BrickColor = BrickColor.new("Institutional white") P.Position = P.Position + Vector3.new(0,2,0) wait(0.03) P:BreakJoints() P.BrickColor = color P.Position = P.Position + Vector3.new(0,-2,0) wait(0.03) end P.Name = "Kaboom" P.CanCollide = true P.Velocity = Vector3.new(0,335,0) P.Shape = Enum.PartType.Ball P.Size = Vector3.new(200,200,200) local Explosion = Instance.new("Explosion") Explosion.Position = P.Position Explosion.BlastRadius = 100 Explosion.BlastPressure = 4000000 Explosion.Visible = false Explosion.Parent = game.Workspace local function Hit(part) if part and part.Parent:FindFirstChildWhichIsA("Humanoid") then part.Parent:FindFirstChildWhichIsA("Humanoid"):TakeDamage(999999999) local creator = Instance.new("ObjectValue",part.Parent:FindFirstChildWhichIsA("Humanoid")) creator.Name = "creator" if plr and plr.Parent then creator.Value = plr end if not Bong then Bong = true delay(0,function() BANG(P.Position) Bong = false end) end game:GetService("Debris"):AddItem(creator,0.14) elseif part and part.Parent:FindFirstChild("FakeHumanoid") and part.Parent.FakeHumanoid:IsA("StringValue") then part.Parent.FakeHumanoid.Value = nam end end Explosion.Hit:Connect(Hit) local P1 = Instance.new("SurfaceLight",P) P1.Angle = 130 P1.Brightness = 40 P1.Range = 60 P1.Shadows = true local P2 = P1:Clone() P2.Parent = P P2.Face = Enum.NormalId.Back local P3 = P1:Clone() P3.Parent = P P3.Face = Enum.NormalId.Left local P4 = P1:Clone() P4.Parent = P P4.Face = Enum.NormalId.Right local P5 = P1:Clone() P5.Parent = P P5.Face = Enum.NormalId.Top local P6 = P1:Clone() P6.Parent = P P6.Face = Enum.NormalId.Bottom end local function Contact(part) if part and part.Parent and part.Parent:FindFirstChildWhichIsA("Humanoid") then local Humanoid = part.Parent:FindFirstChildWhichIsA("Humanoid") Humanoid:TakeDamage(10) if f == true then Humanoid:TakeDamage(999999989) if not Bong then Bong = true delay(0,function() BANG(P.Position) Bong = false end) end end local creator = Instance.new("ObjectValue",Humanoid) creator.Name = "creator" if plr and plr.Parent then creator.Value = plr end game:GetService("Debris"):AddItem(creator,0.14) end if part.Parent then local Tag2 = part.Parent:FindFirstChild("FakeHumanoid") if Tag2 then Tag2.Value = nam end end end P.Touched:Connect(Contact) local EP1 = Instance.new("Part",script) EP1.Name = "Effect" EP1.BrickColor = P.BrickColor EP1.Material = Enum.Material.Neon EP1.Anchored = true EP1.Locked = true EP1.Size = Vector3.new(0.5,0.5,0.5) EP1.Position = P.Position local M1 = Instance.new("SpecialMesh",EP1) M1.MeshType = Enum.MeshType.Sphere M1.Scale = Vector3.new(20,4,20) local EP2 = Instance.new("Part",script) EP2.Name = "Effect" EP2.BrickColor = P.BrickColor EP2.Material = Enum.Material.Neon EP2.Anchored = true EP2.Locked = true EP2.Size = Vector3.new(0.5,0.5,0.5) EP2.Position = P.Position local M2 = Instance.new("SpecialMesh",EP2) M2.MeshType = Enum.MeshType.Sphere M2.Scale = Vector3.new(12,8,12) local EP3 = Instance.new("Part",script) EP3.Name = "Effect" EP3.BrickColor = P.BrickColor EP3.Material = Enum.Material.Neon EP3.Anchored = true EP3.Locked = true EP3.Size = Vector3.new(0.5,0.5,0.5) EP3.Position = P.Position local M3 = Instance.new("SpecialMesh",EP3) M3.MeshType = Enum.MeshType.Sphere M3.Scale = Vector3.new(14,16,14) for i = 1,200 do if i%2 == 1 then P.BrickColor = BrickColor.new("White") P.Transparency = 0.5 else P.BrickColor = color P.Transparency = 0 end local T = P:GetTouchingParts() for i = 1,#T do Contact(T[i]) end M1.Scale = M1.Scale + Vector3.new(2.5,1,2.5) M1.Offset = M1.Offset + Vector3.new(0,0.5,0) M2.Scale = M2.Scale + Vector3.new(4,1,4) M3.Scale = M3.Scale + Vector3.new(1,1.5,1) M3.Offset = M3.Offset + Vector3.new(0,0.25,0) EP1.Transparency = EP1.Transparency + 0.005 EP2.Transparency = EP2.Transparency + 0.005 EP3.Transparency = EP3.Transparency + 0.005 wait(0.05) end EP1:Destroy() EP2:Destroy() EP3:Destroy() f = false P.CanCollide = false P.Name = "Fire" for i = 1,40 do wait(0.25) if P and P.Parent then local T = P:GetTouchingParts() for i = 1,#T do Contact(T[i]) end P.Transparency = P.Transparency + 0.025 local C = P:GetChildren() for a = 1,#C do if C[a]:IsA("SurfaceLight") then C[a].Brightness = C[a].Brightness - 1 if i > 12 then C[a].Color = color.Color end end end end end if P and P.Parent then P:Destroy() end end function MakeLauncher(pos,orient,color) local M = Instance.new("Model",script) M.Name = "HazardLauncher" local P = Instance.new("Part",M) P.Name = "LauncherTarget" P.Anchored = true P.Locked = true P.Size = Vector3.new(20,4,4) P.Position = pos-Vector3.new(0,10,0) P.Orientation = orient P.BrickColor = color P.Material = Enum.Material.Neon P.Velocity = P.CFrame.LookVector*60 local V = Instance.new("StringValue",M) V.Name = "FakeHumanoid" V.Value = "> None" local BBG = Instance.new("BillboardGui",M) BBG.Size = UDim2.new(20,0,5,0) BBG.LightInfluence = 0.25 BBG.StudsOffsetWorldSpace = Vector3.new(0,5,0) BBG.Adornee = P local TL = Instance.new("TextBox",BBG) TL.AnchorPoint = Vector2.new(0.5,0.5) TL.Position = UDim2.new(0.5,0,0.5,0) TL.Size = UDim2.new(1.25,0,1.25,0) TL.BackgroundTransparency = 1 TL.TextStrokeTransparency = 0 TL.TextScaled = true TL.Font = Enum.Font.Code TL.TextColor3 = color.Color TL.TextStrokeColor3 = Color3.new(0,0,0) local Fire = false local Sent = 0 local Elfoozo = false local Cause = "> None" TL.Text = tostring(100-Sent) local function Blam() if not Elfoozo then Elfoozo = true BBG:Destroy() local WOW = Sent >= 100 if WOW then delay(0,function() Yay(P.Position) end) end delay(0,function() for i = 1,30 do if SA and SA.Parent then SA.PlaybackSpeed = 6-(i-1)*0.15 end if PartA then PartA.Position = pos PartA.Parent = script PartA.Parent = nil end wait(0.04) end if Cause ~= "> None" then if WOW then delay(0,function() SendBomb(pos,orient,color,Match,Cause) end) print("WOW!!! The 100th shot done to Hazardous Block Launcher "..color.Name.." belongs to "..Cause.."!") Speech("WOW!!!","The 100th shot done to Hazardous Block Launcher "..color.Name.." belongs to "..Cause.."!") else print("Hazardous Block Launcher "..color.Name.." has been disabled by "..Cause..".") Speech("Hazardous Block Launcher "..color.Name.." has been disabled by",Cause..".") end end end) P.Velocity = P.CFrame.LookVector*-60 P.Anchored = false P.CanCollide = false P.Transparency = 0.5 game:GetService("Debris"):AddItem(M,5) wait(30) MakeLauncher(pos,orient,color) end end local function Contact(hit) if hit.Name == "Bullet" and not Elfoozo then delay(0,function() BANG(P.Position) end) if hit:FindFirstChild("HitTag") and hit.HitTag:IsA("StringValue") then Cause = hit.HitTag.Value end Blam() end end P.Touched:Connect(Contact) local function Changed() if not Fire and not Elfoozo then Fire = true Cause = V.Value TL.Text = "SHOT" delay(0,function() HitSound(P.Position) end) local HM = Instance.new("Model",script) HM.Name = "HazardModel" local HP = Instance.new("Part",HM) HP.Name = "Bullet" HP.Anchored = true HP.Locked = true HP.Size = Vector3.new(4,4,4) HP.BrickColor = color HP.Material = Enum.Material.Neon HP.CFrame = P.CFrame*CFrame.new(0,-16,-16) local HV = Instance.new("StringValue",HM) HV.Name = "FakeHumanoid" HV.Value = V.Value local HT = Instance.new("StringValue",HP) HT.Name = "HitTag" HT.Value = V.Value local SM = Instance.new("SpecialMesh",HP) SM.MeshType = Enum.MeshType.Sphere SM.Scale = Vector3.new(2,2,2) local Hit = false local Last = HV.Value local function Changed() HT.Value = HV.Value if HV.Value ~= Last then Last = HV.Value delay(0,function() TagSound(HP.Position) end) for i = 1,10 do if i%2 == 1 then HP.BrickColor = BrickColor.new("White") else HP.BrickColor = BrickColor.new("Really black") end wait(0.04) end HP.BrickColor = color end end HV.Changed:Connect(Changed) local DeBang = false local function Touched(part) local Banger = false if part and part.Parent and part.Parent:FindFirstChildWhichIsA("Humanoid") then part.Parent:FindFirstChildWhichIsA("Humanoid"):TakeDamage(10) local creator = Instance.new("ObjectValue",part.Parent:FindFirstChildWhichIsA("Humanoid")) creator.Name = "creator" local Match = game:GetService("Players"):FindFirstChild(HT.Value) if Match and Match:IsA("Player") then creator.Value = Match end game:GetService("Debris"):AddItem(creator,0.14) Banger = true elseif part and part.Parent and part.Parent:FindFirstChild("FakeHumanoid") and part.Parent.FakeHumanoid:IsA("StringValue") and (part.Name == "T" or part.Name == "Part2") then part.Parent.FakeHumanoid.Value = HT.Value Banger = true elseif part.Name == "Bullet" or part.Name == "LauncherTarget" then Banger = true end if Banger then if not DeBang then DeBang = true delay(0,function() BANG(part.Position) end) game:GetService("Debris"):AddItem(HM,1) end end end HP.Touched:Connect(Touched) local function Check() local T = HP:GetTouchingParts() for i = 1,#T do delay(0,function() Touched(T[i]) end) end end delay(0,function() while HM.Parent and HP.Parent and not DeBang do HP.Material = Enum.Material.Neon SM.MeshType = Enum.MeshType.Sphere SM.Scale = Vector3.new(2,2,2) Check() wait(0.08) SM.MeshType = Enum.MeshType.Brick SM.Scale = Vector3.new(1,1,1) Check() wait(0.08) HP.Material = Enum.Material.DiamondPlate Check() wait(0.08) end end) for i = 1,10 do local y,z = 0,8 if i > 8 then y,z = 0,-8 elseif i > 6 then y,z = 4,-4 elseif i > 4 then y,z = 8,0 elseif i > 2 then y,z = 4,4 end HP.CFrame = HP.CFrame * CFrame.new(0,y,z) if i%2 == 1 then P.BrickColor = BrickColor.new("White") else P.BrickColor = BrickColor.new("Really black") end wait(0.04) end HP.Anchored = false HP.Velocity = (HP.CFrame.LookVector*120)+Vector3.new(math.random(-40,40),math.random(-40,40),math.random(-40,40)) delay(0,function() LaunchSound(HP.Position) end) V.Value = "> None" Fire = false P.BrickColor = color Sent = Sent + 1 TL.Text = tostring(100-Sent) if Sent >= 100 then Blam() end end end V.Changed:Connect(Changed) for i = 1,100 do if not P.Anchored then break end P.Position = P.Position+Vector3.new(0,0.1,0) if SA and SA.Parent then SA.PlaybackSpeed = 1+(i-1)*0.005 end if PartA then PartA.Position = P.Position PartA.Parent = script PartA.Parent = nil end wait(0.04) end delay(0,function() while not Elfoozo do if M:FindFirstAncestorWhichIsA("Workspace") == nil or P:FindFirstAncestorWhichIsA("Workspace") == nil then Blam() else local T = P:GetTouchingParts() for i = 1,#T do delay(0,function() Contact(T[i]) end) end end wait(0.08) end end) end MakeLauncher(Vector3.new(0,4,-270),Vector3.new(0,180,0),BrickColor.new("Toothpaste")) MakeLauncher(Vector3.new(270,4,-270),Vector3.new(0,135,0),BrickColor.new("Lime green")) MakeLauncher(Vector3.new(270,4,0),Vector3.new(0,90,0),BrickColor.new("New Yeller")) MakeLauncher(Vector3.new(270,4,270),Vector3.new(0,45,0),BrickColor.new("Hot pink")) MakeLauncher(Vector3.new(0,4,270),Vector3.new(0,0,0),BrickColor.new("Really red")) MakeLauncher(Vector3.new(-270,4,270),Vector3.new(0,-45,0),BrickColor.new("Really blue")) MakeLauncher(Vector3.new(-270,4,0),Vector3.new(0,-90,0),BrickColor.new("Medium stone grey")) MakeLauncher(Vector3.new(-270,4,-270),Vector3.new(0,-135,0),BrickColor.new("Dark stone grey"))